package com.nowcoder.community.util;

import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.DigestUtils;

import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

/**
 * @Author Cl
 * @Date 2024-2024/4/2  20:21
 * @Description 通用工具类
 */
public class CommunityUtil {

    //生成随机字符串
    public static String generateUUID(){
        return UUID.randomUUID().toString().replaceAll("-","");
    }

    // MD5加密
    public static String md5(String key){
        // 这里的StringUtils是引用的commons-lang3(自己用pom引入的)
        if(StringUtils.isBlank(key)) return null;
        return DigestUtils.md5DigestAsHex(key.getBytes(StandardCharsets.UTF_8));
    }

    /**将传入的参数转成json字符串返回*/
    public static String getJSONString(int code , String msg , Map<String , Object> map){
        JSONObject json = new JSONObject();
        json.put("code",code);
        json.put("msg",msg);
        if(map != null){
            for (String key : map.keySet()) {
                json.put(key , map.get(key));
            }
        }
        return json.toJSONString();
    }

    /** getJSONString 重载方法*/
    public static String getJSONString(int code , String msg ){
        return getJSONString(code , msg,null);
    }

    /**getJSONString 重载方法*/
    public static String getJSONString(int code  ){
        return getJSONString(code,null , null);
    }

    /**测试json*/
    public static void main(String[] args) {
        HashMap<String, Object> map = new HashMap<>();
        map.put("name","阿三");
        map.put("age",28);
        System.out.println("getJSONString(0,\"ok\",map) = " + getJSONString(0, "ok", map));
    }
}
